/***
 * 咨询管理js
 * 20151030
 */
$(function () {
    // 渲染页面-通用部分；
    commTemplUtil.initPage();
    // 渲染左侧菜单;
    commTemplUtil.initCommLeftMemu();

    var defaultPagingObj = {
        total : 0,
        pageSize : 10,
        page : 1
    };
    PAGE_DATA.pagingObj = $.extend(defaultPagingObj, PAGE_DATA.pagingObj);

    //渲染tab切换
    $.commNavTabs2($("#commTabs_1").find(".head-item"),
        $("#commTabs_1").find(".body-item"),
        "current");

    //初始查询所有咨询管理信息
    getClassifyData(1);

    //查询未回复的咨询管理
    noreply(1);

    //查询已回复的咨询管理
    yesreply(1);

});

//初始咨询管理信息
function getClassifyData(page) {

    var onClickObj = {
        onClick : function () {
            var clickPage = $(this).attr("data-page");
            getClassifyData(clickPage);
        }
    };

    //页面列表模板
    var templ = _.template($("#allitem-template").html());

    // 获取咨询管理信息
    $.ajax({
        url : PAGE_CONFIG.requestUrl.queryconsultation,
        type : "get",
        data : {
            type : "1", //type类型，1、查询全部；2、查询未回复；3、查询已回复
            page : page + "",
            pageSize : PAGE_DATA.pagingObj.pageSize
        },
        success : function (result) {
            //响应
            setClassifyData(result.data, templ);

            //  更新翻页控件
            var tmpConf = $.extend(result.pagingConfData, onClickObj);
            commTemplUtil.initPaging("#allcomm-paging", tmpConf);
        },
        error : function () {
            var conf = {
                title : "注意",
                message : "获取咨询管理失败!",
                ok_txt : "确定"
            };
            commTemplUtil.showErrorDialog(conf);
        }
    });

}

/**
 * 全部咨询管理-信息列表,
 */
function setClassifyData(data, templ) {
    var classifyTemplHtml = templ(data);
    $("#commTabs_1_body").html(classifyTemplHtml);
    bindEvents(templ);
};

/***
 * 全部咨询管理页面填充数据后的绑定事件;
 */
function bindEvents(htmlObj) {

    var commBody = $("#commTabs_1_body");
    var classifyTempl = _.template($('#allitem-template').html());

    // 删除
    commBody.find(".delect-btn").on("click", function () {
        //id
        var id = $(this).parents("div").attr("data-id");

        var tabObj = $(this).parents(".body-item");
        var pageVal = tabObj.find(".comm-paging").attr("current-page") || '';

        //确认框模板
        var confirmObj1 = _.template($('#item-confirm').html());
        var dia = dialog({
                title : '注意',
                content : confirmObj1
            });
        dia.showModal();

        $("#tj").on("click", function (event) {
            $.ajax({
                url : PAGE_CONFIG.requestUrl.delconsultation,
                type : "delete",
                data : {
                    page : pageVal,
                    pageSize : PAGE_DATA.pagingObj.pageSize || '',
                    id : id,
                    _token : COMM_DATA.csrfToken
                },
                success : function (result) {
                    //响应
                    setClassifyData(result.data, classifyTempl);
                    dia.remove();

                    //查询未回复的咨询管理
                    noreply(1);

                    //查询已回复的咨询管理
                    yesreply(1);
                },
                error : function () {
                    dia.remove();

                    var conf = {
                        title : "注意",
                        message : "删除咨询信息失败!",
                        ok_txt : "确定"
                    };
                    commTemplUtil.showErrorDialog(conf);
                }
            });
        });
        $(".remove").click(function () {
            dia.remove();
        });
    });

    // 回复
    commBody.find(".answer-btn").on("click", function () {
        //id
        var id = $(this).parents("div").attr("data-id");
        //提的问题
        var ask = $('#ask' + id).html();

        var tabObj = $(this).parents(".body-item");
        var pageVal = tabObj.find(".comm-paging").attr("current-page") || '';

        var parCss = $(".ui-dialog-content").parent("td").attr("style", "text-align:left!important");
        var dia = dialog({
                title : '回复咨询',
                content : '<div class="dialog-div"><div class="consult-content">咨询内容：</div><div class="consult-content-text">' + ask + '</div><div class="reply">回复咨询:</div><div class="textarea"><textarea id="reply"></textarea></div><div class="sub-btn"><div class="btn btn-warn btn-w140x40 sub" id="replysub">提交</div></div></div>',
                onshow : function () {

                    $('#replysub').on("click", function (event) {
                        $.ajax({
                            url : PAGE_CONFIG.requestUrl.replyconsultation,
                            type : "post",
                            data : {
                                id : id || '',
                                replay : $('#reply').val() || '', //回复的内容
                                page : pageVal,
                                pageSize : PAGE_DATA.pagingObj.pageSize || '',
                                _token : COMM_DATA.csrfToken
                            },
                            success : function (result) {
                                //响应
                                setClassifyData(result.data, classifyTempl);
                                dia.remove();

                                //查询未回复的咨询管理
                                noreply(1);
                                //查询已回复的咨询管理
                                yesreply(1);
                            },
                            error : function () {
                                dia.remove();

                                var conf = {
                                    title : "注意",
                                    message : "回复咨询信息失败!",
                                    ok_txt : "确定"
                                };
                                commTemplUtil.showErrorDialog(conf);
                            }
                        });
                    });
                }
            });
        dia.showModal();
    });
}

//未回复咨询管理信息
function noreply(page) {

    var onClickObj = {
        onClick : function () {
            var clickPage = $(this).attr("data-page");
            getClassifyData(clickPage);
        }
    };

    //页面列表模板
    var templ = _.template($("#noreply-template").html());

    // 获取咨询管理信息
    $.ajax({
        url : PAGE_CONFIG.requestUrl.noreplyconsultation,
        type : "get",
        data : {
            type : "2", //type类型，1、查询全部；2、查询未回复；3、查询已回复
            page : page,
            pageSize : PAGE_DATA.pagingObj.pageSize
        },
        success : function (result) {
            //响应
            setClassifyData1(result.data, templ);

            //  更新翻页控件
            var tmpConf = $.extend(result.pagingConfData, onClickObj)
                commTemplUtil.initPaging("#comm-paging2", tmpConf);
        },
        error : function () {
            var conf = {
                title : "注意",
                message : "获取咨询管理失败!",
                ok_txt : "确定"
            };
            commTemplUtil.showErrorDialog(conf);
        }
    });
}

/**
 * 未回复咨询管理-信息列表,
 */
function setClassifyData1(data, templ) {
    var classifyTemplHtml = templ(data);
    $("#commTabs_2_body").html(classifyTemplHtml);
    bindEvents1(templ);
};

/***
 * 未回复咨询管理页面填充数据后的绑定事件;
 */
function bindEvents1(htmlObj) {

    var commBody = $("#commTabs_2_body");
    var classifyTempl = _.template($('#allitem-template').html());

    // 删除
    commBody.find(".delect-btn").on("click", function () {
        //id
        var id = $(this).parents("div").attr("data-id");

        var tabObj = $(this).parents(".body-item");
        var pageVal = tabObj.find(".comm-paging").attr("current-page") || '';

        //确认框模板
        var confirmObj1 = _.template($('#item-confirm').html());
        var dia = dialog({
                title : '注意',
                content : confirmObj1
            });
        dia.showModal();

        $("#tj").on("click", function (event) {
            $.ajax({
                url : PAGE_CONFIG.requestUrl.delconsultation,
                type : "delete",
                data : {
                    page : pageVal,
                    pageSize : PAGE_DATA.pagingObj.pageSize || '',
                    id : id,
                    _token : COMM_DATA.csrfToken
                },
                success : function (result) {
                    //响应
                    setClassifyData(result.data, classifyTempl);
                    dia.remove();

                    //初始查询所有咨询管理信息
                    getClassifyData(1);
                },
                error : function () {
                    dia.remove();

                    var conf = {
                        title : "注意",
                        message : "删除咨询信息失败!",
                        ok_txt : "确定"
                    };
                    commTemplUtil.showErrorDialog(conf);
                }
            });
        });
        $(".remove").click(function () {
            dia.remove();
        });
    });

    // 回复
    commBody.find(".answer-btn").on("click", function () {
        //id
        var id = $(this).parents("div").attr("data-id");
        //提的问题
        var ask = $('#ask' + id).html();

        var tabObj = $(this).parents(".body-item");
        var pageVal = tabObj.find(".comm-paging").attr("current-page") || '';

        var parCss = $(".ui-dialog-content").parent("td").attr("style", "text-align:left!important");
        var dia = dialog({
                title : '回复咨询',
                content : '<div class="dialog-div"><div class="consult-content">咨询内容：</div><div class="consult-content-text">' + ask + '</div><div class="reply">回复咨询:</div><div class="textarea"><textarea id="reply"></textarea></div><div class="sub-btn"><div class="btn btn-warn btn-w140x40 sub" id="replysub">提交</div></div></div>',
                onshow : function () {

                    $('#replysub').on("click", function (event) {
                        $.ajax({
                            url : PAGE_CONFIG.requestUrl.replyconsultation,
                            type : "post",
                            data : {
                                id : id,
                                replay : $('#reply').val(), //回复的内容
                                page : pageVal,
                                pageSize : PAGE_DATA.pagingObj.pageSize || '',
                                _token : COMM_DATA.csrfToken
                            },
                            success : function (result) {
                                //响应
                                setClassifyData(result.data, classifyTempl);
                                dia.remove();
                                
                                //查询已回复的咨询管理
                                yesreply(1);
                            },
                            error : function () {
                                dia.remove();

                                var conf = {
                                    title : "注意",
                                    message : "回复咨询信息失败!",
                                    ok_txt : "确定"
                                };
                                commTemplUtil.showErrorDialog(conf);
                            }
                        });
                    });
                }
            });
        dia.showModal();
    });
}

//已回复咨询管理信息
function yesreply(page) {

    var onClickObj = {
        onClick : function () {
            var clickPage = $(this).attr("data-page");
            getClassifyData(clickPage);
        }
    };

    //页面列表模板
    var templ = _.template($("#yesreply-template").html());

    // 获取咨询管理信息
    $.ajax({
        url : PAGE_CONFIG.requestUrl.yesreplyconsultation,
        type : "get",
        data : {
            type : "3", //type类型，1、查询全部；2、查询未回复；3、查询已回复
            page : page,
            pageSize : PAGE_DATA.pagingObj.pageSize
        },
        success : function (result) {
            //响应
            setClassifyData2(result.data, templ);

            //  更新翻页控件
            var tmpConf = $.extend(result.pagingConfData, onClickObj);
            commTemplUtil.initPaging("#comm-paging3", tmpConf);
        },
        error : function () {
            var conf = {
                title : "注意",
                message : "获取咨询管理失败!",
                ok_txt : "确定"
            };
            commTemplUtil.showErrorDialog(conf);
        }
    });
}

/**
 * 已回复咨询管理-信息列表,
 */
function setClassifyData2(data, templ) {
    var classifyTemplHtml = templ(data);
    $("#commTabs_3_body").html(classifyTemplHtml);
    bindEvents2(templ);
};

function bindEvents2(htmlObj) {

    var commBody = $("#commTabs_3_body");
    var classifyTempl = _.template($('#allitem-template').html());

    // 删除
    commBody.find(".delect-btn").on("click", function () {
        //id
        var id = $(this).parents("div").attr("data-id");

        var tabObj = $(this).parents(".body-item");
        var pageVal = tabObj.find(".comm-paging").attr("current-page") || '';

        //确认框模板
        var confirmObj1 = _.template($('#item-confirm').html());
        var dia = dialog({
                title : '注意',
                content : confirmObj1
            });
        dia.showModal();

        $("#tj").on("click", function (event) {
            $.ajax({
                url : PAGE_CONFIG.requestUrl.delconsultation,
                type : "delete",
                data : {
                    page : pageVal,
                    pageSize : PAGE_DATA.pagingObj.pageSize || '',
                    id : id,
                    _token : COMM_DATA.csrfToken
                },
                success : function (result) {
                    //响应
                    setClassifyData2(result.data, classifyTempl);
                    dia.remove();

                    //初始查询所有咨询管理信息
                    getClassifyData(1);
                },
                error : function () {
                    dia.remove();

                    var conf = {
                        title : "注意",
                        message : "删除咨询信息失败!",
                        ok_txt : "确定"
                    };
                    commTemplUtil.showErrorDialog(conf);
                }
            });
        });
        $(".remove").click(function () {
            dia.remove();
        });
    });

}